home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1998 July
/
EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso
/
earcd
/
phase5
/
ppcrelease
/
fd2inline
/
makefile.in
< prev
next >
Wrap
Makefile
|
1998-02-21
|
10KB
|
281 lines
srcdir = @srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
incdir = $(prefix)/include
guidedir = $(prefix)/guide
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
INSTALL_DATA = @INSTALL_DATA@
SHELL = /bin/sh
CC = @CC@
AR = ar
RM = rm -rf
CP = cp -a
MAKEINFO = makeinfo
LHA = lha -mraxe
MV = mv
STRIP = strip
TAR = tar -vz
RANLIB = @RANLIB@
AWK = @AWK@
DEFS = @DEFS@
LIBS = @LIBS@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
PROTECT = /c/protect
# Used when building fd2inline, fd2inline.guide and the archives.
VERSION = 1.11
FD_DIR = $(prefix)/os-lib/fd
OS_INC_DIR = $(prefix)/os-include
OUR_CFLAGS = $(DEFS) -Wall -Wstrict-prototypes '-DVERSION="$(VERSION)"' -resident $(CFLAGS)
# Pseudo-targets.
BUILD_INLINES = stmp-built-inlines
BUILD_PRAGMAS = stmp-built-pragmas
BUILD_PROTOS = stmp-built-protos
BUILD_LIBS = stmp-built-libs
BUILD_PPCINLINES = stmp-built-ppcinlines
BUILD_PPCPRAGMAS = stmp-built-ppcpragmas
BUILD_PPCPROTOS = stmp-built-ppcprotos
# List of linker libraries to build. Each entry is INCBASE!LIBBASE (see below).
NONSTD_LIBS = muimaster!mui ums!ums dospath!dospath \
screennotify!screennotify wbstart!wbstart
# Archive names.
SRC_ARCHIVE_LHA = fd2inline-$(VERSION)-src.lha
SRC_ARCHIVE_TGZ = fd2inline-$(VERSION)-src.tgz
BIN_ARCHIVE = fd2inline-$(VERSION)-bin.lha
# Used when building archives
TMP_DIR = /tmp
TMP_SUBDIR = fd2inline-$(VERSION)
# Flags to pass to submake.
FLAGS_TO_PASS = "CC=$(CC)" \
"AWK=$(AWK)" \
"RM=$(RM)" \
"AR=$(AR)" \
"RANLIB=$(RANLIB)" \
"OS_INC_DIR=$(OS_INC_DIR)" \
"FD_DIR=$(FD_DIR)"
all: fd2inline $(BUILD_INLINES) $(BUILD_PRAGMAS) $(BUILD_PROTOS) $(BUILD_LIBS) $(BUILD_PPCINLINES) $(BUILD_PPCPRAGMAS) $(BUILD_PPCPROTOS) guide
fd2inline: fd2inline.c
$(CC) $(OUR_CFLAGS) $(LDFLAGS) -o fd2inline $(srcdir)/fd2inline.c $(LIBS)
if [ -f $(PROTECT) ]; then $(PROTECT) fd2inline +p; else true; fi
install: all
$(INSTALL_PROGRAM) fd2inline $(bindir)/fd2inline
if [ -f $(PROTECT) ]; then \
(cd $(bindir); $(PROTECT) fd2inline +p); \
else true; \
fi
if [ -d $(incdir)/inline ]; then true; else mkdir $(incdir)/inline; fi
$(INSTALL_DATA) $(srcdir)/include/inline-src/*.h $(incdir)/inline
$(INSTALL_DATA) include/inline/*.h $(incdir)/inline
if [ -d $(incdir)/pragmas ]; then true; else mkdir $(incdir)/pragmas; fi
$(INSTALL_DATA) include/pragmas/*.h $(incdir)/pragmas
if [ -d $(incdir)/proto ]; then true; else mkdir $(incdir)/proto; fi
$(INSTALL_DATA) $(srcdir)/include/proto-src/*.h $(incdir)/proto
$(INSTALL_DATA) include/proto/*.h $(incdir)/proto
libs=`echo lib/lib*.a` ; if [ "lib/lib*.a" != "$${libs}" ]; then \
$(INSTALL_DATA) lib/lib*.a $(libdir); \
else true; fi
libs=`echo lib/libb/lib*.a` ; if [ "lib/libb/lib*.a" != "$${libs}" ]; then \
$(INSTALL_DATA) lib/libb/lib*.a $(libdir)/libb; \
else true; fi
libs=`echo lib/libb32/libm020/lib*.a` ; if [ "lib/libb32/libm020/lib*.a" != "$${libs}" ]; then \
$(INSTALL_DATA) lib/libb32/libm020/lib*.a $(libdir)/libb32/libm020; \
else true; fi
$(INSTALL_DATA) fd2inline.guide $(guidedir)
dist: all
# Create a temporary location.
if [ -d $(TMP_DIR)/$(TMP_SUBDIR) ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR); fi
if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/include ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/include; fi
if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib; fi
# Copy the source directory to it.
( \
cd $(srcdir); \
$(CP) include/inline-src $(TMP_DIR)/$(TMP_SUBDIR)/include; \
$(CP) include/proto-src $(TMP_DIR)/$(TMP_SUBDIR)/include; \
$(CP) lib/Makefile.in lib/splitasm.awk $(TMP_DIR)/$(TMP_SUBDIR)/lib; \
$(CP) manifests patches configure* COPYING fd2inline.c \
fd2inline.texi install.sh Makefile.in \
makepragmas.awk Product-Info \
$(TMP_DIR)/$(TMP_SUBDIR) \
)
# Create the source archives.
( \
cd $(TMP_DIR); \
$(LHA) a $(SRC_ARCHIVE_LHA) $(TMP_SUBDIR) \
)
$(RM) $(SRC_ARCHIVE_LHA)
$(CP) $(TMP_DIR)/$(SRC_ARCHIVE_LHA) .
$(RM) $(TMP_DIR)/$(SRC_ARCHIVE_LHA)
$(TAR) -cf $(SRC_ARCHIVE_TGZ) -C $(TMP_DIR) $(TMP_SUBDIR)
# Reorganize the temporary location.
( \
cd $(TMP_DIR)/$(TMP_SUBDIR)/include; \
$(MV) inline-src inline; \
$(MV) proto-src proto; \
$(RM) ../lib/* \
)
# Copy the build directory to the temporary location.
$(CP) include/inline include/pragmas include/proto $(TMP_DIR)/$(TMP_SUBDIR)/include
if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/bin ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/bin; fi
$(CP) fd2inline $(TMP_DIR)/$(TMP_SUBDIR)/bin
$(STRIP) $(TMP_DIR)/$(TMP_SUBDIR)/bin/fd2inline
if [ -f $(PROTECT) ]; then \
(cd $(TMP_DIR)/$(TMP_SUBDIR)/bin; $(PROTECT) fd2inline +p); \
else true; \
fi
$(CP) lib/lib*.a $(TMP_DIR)/$(TMP_SUBDIR)/lib
if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb; fi
$(CP) lib/libb/lib*.a $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb
if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32 ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32; fi
if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32/libm020 ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32/libm020; fi
$(CP) lib/libb32/libm020/lib*.a $(TMP_DIR)/$(TMP_SUBDIR)/lib/libb32/libm020
if [ -d $(TMP_DIR)/$(TMP_SUBDIR)/guide ]; then true; else mkdir $(TMP_DIR)/$(TMP_SUBDIR)/guide; fi
$(CP) fd2inline.guide $(TMP_DIR)/$(TMP_SUBDIR)/guide
# Create the binary archive.
( \
cd $(TMP_DIR); \
$(LHA) a $(BIN_ARCHIVE) $(TMP_SUBDIR)/ bin guide include lib COPYING \
)
$(RM) $(BIN_ARCHIVE)
$(CP) $(TMP_DIR)/$(BIN_ARCHIVE) .
$(RM) $(TMP_DIR)/$(BIN_ARCHIVE)
$(RM) $(TMP_DIR)/$(TMP_SUBDIR)
$(BUILD_INLINES): fd2inline
if [ -d include ]; then true; else mkdir include; fi
if [ -d include/inline ]; then true; else mkdir include/inline; fi
for fd in $(FD_DIR)/*.fd; do \
rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
if [ "$${rootname}" = "mathffp" -o "$${rootname}" = "mathtrans" ]; then \
continue; \
fi; \
echo "making include/inline/$$rootname.h..."; \
./fd2inline $$fd $(OS_INC_DIR)/clib/$${rootname}_protos.h -o include/inline/$$rootname.h; \
done
touch $(BUILD_INLINES)
$(BUILD_PPCINLINES): fd2inline
if [ -d include ]; then true; else mkdir include; fi
if [ -d include/ppcinline ]; then true; else mkdir include/ppcinline; fi
for fd in $(FD_DIR)/*.fd; do \
rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
if [ "$${rootname}" = "mathffp" -o "$${rootname}" = "mathtrans" ]; then \
continue; \
fi; \
echo "making include/ppcinline/$$rootname.h..."; \
./fd2inline $$fd $(OS_INC_DIR)/clib/$${rootname}_protos.h -powerup -o include/ppcinline/$$rootname.h; \
done
touch $(BUILD_PPCINLINES)
$(BUILD_PRAGMAS): $(srcdir)/makepragmas.awk
if [ -d include ]; then true; else mkdir include; fi
if [ -d include/pragmas ]; then true; else mkdir include/pragmas; fi
for fd in $(FD_DIR)/*.fd; do \
rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
if [ "$${rootname}" = "mathffp" -o "$${rootname}" = "mathtrans" ]; then \
continue; \
fi; \
echo "making include/pragmas/$${rootname}_pragmas.h..."; \
$(AWK) -f $(srcdir)/makepragmas.awk -v PRAGMAS=$$rootname >include/pragmas/$${rootname}_pragmas.h; \
done
touch $(BUILD_PRAGMAS)
$(BUILD_PPCPRAGMAS): fd2inline
if [ -d include ]; then true; else mkdir include; fi
if [ -d include/ppcpragmas ]; then true; else mkdir include/ppcpragmas; fi
for fd in $(FD_DIR)/*.fd; do \
rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
if [ "$${rootname}" = "mathffp" -o "$${rootname}" = "mathtrans" ]; then \
continue; \
fi; \
echo "making include/ppcpragmas/$${rootname}_pragmas.h..."; \
./fd2inline --pragma --powerup $$fd $(OS_INC_DIR)/clib/$${rootname}_protos.h -o include/ppcpragmas/$${rootname}_pragmas.h; \
done
touch $(BUILD_PPCPRAGMAS)
$(BUILD_PROTOS): fd2inline
if [ -d include ]; then true; else mkdir include; fi
if [ -d include/proto ]; then true; else mkdir include/proto; fi
for fd in $(FD_DIR)/*.fd; do \
rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
if [ -f $(srcdir)/include/proto-src/$$rootname.h ]; then \
continue; \
fi; \
echo "making include/proto/$$rootname.h..."; \
./fd2inline --proto $$fd -o include/proto/$$rootname.h; \
done
touch $(BUILD_PROTOS)
$(BUILD_PPCPROTOS): fd2inline
if [ -d include ]; then true; else mkdir include; fi
if [ -d include/ppcproto ]; then true; else mkdir include/ppcproto; fi
for fd in $(FD_DIR)/*.fd; do \
rootname=`basename $$fd .fd | sed "s:_lib$$::"`; \
if [ -f $(srcdir)/include/proto-src/$$rootname.h ]; then \
continue; \
fi; \
echo "making include/ppcproto/$$rootname.h..."; \
./fd2inline --proto $$fd --powerup -o include/ppcproto/$$rootname.h; \
done
touch $(BUILD_PROTOS)
$(BUILD_LIBS): fd2inline
for bases in $(NONSTD_LIBS); do \
incbase=`echo $$bases | sed "s:!.*$$::"`; \
libbase=`echo $$bases | sed "s:^.*!::"`; \
if [ -f include/inline/$$incbase.h ]; then \
echo "making lib$$libbase.a..."; \
(cd lib; $(MAKE) $(FLAGS_TO_PASS) INCBASE=$$incbase LIBBASE=$$libbase); \
else true; fi; \
done
touch $(BUILD_LIBS)
guide: fd2inline.guide
fd2inline.guide: $(srcdir)/fd2inline.texi
if [ -f version.texi ]; then true; else echo "@set version $(VERSION)" >version.texi; fi
$(MAKEINFO) $(srcdir)/fd2inline.texi -o fd2inline.guide
# Make a linker library with stubs, if for some reason one can't use
# inline headers. This requires two arguments on "make" commandline:
#
# INCBASE: base name of the includes (muimaster for MUI etc).
# LIBBASE: base name of the library (mui for MUI etc).
alllib: fd2inline
if [ "$(INCBASE)" = "" -o "$(LIBBASE)" = "" ]; then \
echo "Require two arguments: INCBASE and LIBBASE"; \
else \
(cd lib; $(MAKE) $(FLAGS_TO_PASS) INCBASE=$(INCBASE) LIBBASE=$(LIBBASE)); \
fi
clean:
$(RM) version.texi *.o *~ *!
(cd lib; $(MAKE) $(FLAGS_TO_PASS) clean)
clobber: clean
$(RM) fd2inline fd2inline.guide \
include/inline include/pragmas include/proto \
$(BUILD_INLINES) $(BUILD_PRAGMAS) $(BUILD_PROTOS) $(BUILD_LIBS) \
$(SRC_ARCHIVE_LHA) $(SRC_ARCHIVE_TGZ) $(BIN_ARCHIVE)
(cd lib; $(MAKE) $(FLAGS_TO_PASS) clobber)